package com.bbva.kyfb.firmas.servicios;

import org.apache.cxf.jaxrs.client.WebClient;

import com.bbva.jee.arq.spring.core.contexto.ArqSpringContext;
import com.bbva.jee.arq.spring.core.util.excepciones.PropiedadNoEncontradaExcepcion;
import com.bbva.kyfb.kyfbdto.firmas.fachada.v01.InfoFileAuditRequest;
import com.bbva.kyfb.kyfbdto.firmas.fachada.v01.InfoFileAuditResponse;

public class ServicioHistoricoV01Impl implements ServicioHistoricoV01 {
	
	String baseAddress = null;
	String pathServicioHistoricoV01 = "/v01/ServicioHistorico/";
	String pathGetAuditoriaComponenteHistorico = "historico/audComp/";
	
	/**
	 * Constructor
	 */
	public ServicioHistoricoV01Impl() {
		super();
		try{
			this.baseAddress = ArqSpringContext.getPropiedad("com.bbva.jee.arq.spring.core.wsclient.url.servicioBaseFirmasV01");
		}catch(PropiedadNoEncontradaExcepcion pnee){
			this.baseAddress = "http://localhost:8080/kyfb_mult_web_kyfbws_03/services/rest";
		}		
	}
	/**{@inheritDoc}
	 * @see com.bbva.kyfb.firmas.servicios.ServicioHistoricoV01#getAuditoriaComponenteHistorico(com.bbva.kyfb.kyfbdto.firmas.fachada.v01.InfoFileAuditRequest)
	 */
	@Override
	public InfoFileAuditResponse getAuditoriaComponenteHistorico(
			InfoFileAuditRequest info) {
		// Declaración del tipo de respuesta
		InfoFileAuditResponse respuesta = new InfoFileAuditResponse();
		// Consulta al webservice
		WebClient cliente = WebClient.create(baseAddress);
		cliente = cliente.path(pathServicioHistoricoV01+pathGetAuditoriaComponenteHistorico);
		respuesta = cliente.post(info, InfoFileAuditResponse.class);
		
		// Devolución de la respuesta
		return respuesta;
	}
}
